home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 081-090 / amok84 / reqtools_2.1d / glue.lha / Glue / HSPascal.1 / source / ReqTest.pas
Pascal/Delphi Source File  |  1992-05-14  |  2KB  |  105 lines

  1. {
  2. Test program for Pascal Interface to Nico Francois's Reqtools.library
  3.  
  4. Copyright 1992 Richard Waspe
  5. }
  6.  
  7. program ReqTest;
  8. Uses Exec, Crt, Reqtools, Dos, Utility, Intuition, Graphics;
  9.  
  10. Var    FileReq    :    ^rtFileRequester;
  11.         FontReq    :    ^rtFontRequester;
  12.         InfoReq    :    ^rtReqInfo;
  13.         MyHook    :    tHook;
  14.         pTitle    :    pCString;
  15.         pFilename : pCString;
  16.         pReqTitle    :    pCString;
  17.         pGadgText    :    pCString;
  18.         pScrTitle : pCString;
  19.         LongNum, Ret, Color : LongInt;
  20.         dump : LongInt;
  21.         a,b : Cstring;
  22.         MyNewScreen : pNewScreen;
  23.         MyScreen : pScreen;
  24.         OK    :    Boolean;
  25.         retcode  :  Longint;
  26.         fname : string[255];
  27.         apointer  :  Pointer;
  28. begin
  29.  
  30. IntuitionBase := pIntuitionBase(OpenLibrary('intuition.library', 33));
  31. If IntuitionBase = NIL Then
  32.     Begin
  33.     Writeln('Unable to open IntuitionLibrary');
  34.     Delay(3000);
  35.     Exit
  36.     End;    
  37.  
  38. ReqToolsBase := pReqToolsBase(OpenLibrary('reqtools.library',37));
  39. if ReqToolsBase = NIL then
  40.     Begin
  41.     Writeln('Unable to open ReqTools Library');
  42.     exit
  43.     end;
  44.  
  45. NEW(pScrTitle);
  46. PasToC('This Is My Screen',pScrTitle^);
  47. apointer := pScrTitle;   
  48. NEW(MyNewScreen);
  49. with MyNewScreen^ do
  50.     Begin
  51.    LeftEdge     :=    0;
  52.    TopEdge        := 0;
  53.    Width         := 640;
  54.    Height         := 512;
  55.    Depth         := 2;
  56.    DetailPen     := 0;
  57.    BlockPen     := 1;
  58.    ViewModes    := HIRES OR LACE;
  59.    Type_            := CUSTOMSCREEN;
  60.    Font            := NIL;
  61.    DeFaultTitle := apointer;
  62.    Gadgets        :=    NIL;
  63.    CustomBitMap := NIL;
  64.    End;
  65.  
  66. MyScreen    :=    OpenScreen(MyNewScreen);
  67.  
  68.    
  69. NEW(pReqTitle);
  70. NEW(pGadgText);
  71. PasToC('Hello there, this is a requester',pReqTitle^);
  72. PasToC('Ok then ?',pGadgText^);
  73. InfoReq := rtAllocRequestA(RT_REQINFO, NIL);
  74. ret := rtEZRequestA(pReqTitle, pGadgText, inforeq, NIL, NIL);
  75. delay(500);
  76. PasToC('Volume dh0: has a Read/Write Error',pReqTitle^);
  77. PasToC('Retry|Panic|Cancel', pGadgText^);
  78. ret := rtEZRequestA(pReqTitle, pGadgText, inforeq, NIL, NIL);
  79. Writeln('InfoReq returned  ',ret);
  80.  
  81.  
  82. NEW(pTitle);
  83. NEW(pFilename);
  84. PasToC('My File Request',pTitle^);
  85. PasToC('First_File',pFilename^);
  86. FileReq := rtAllocRequestA(RT_FILEREQ, NIL); 
  87. RetCode := rtFileRequestA(FileReq, pFilename, pTitle, NIL);
  88. Writeln('FileRequest returned ',Retcode);
  89. CToPas(FileReq^.Dir^,fname);
  90. writeln('You chose Directory -  ',fname);
  91. CToPaS(PFileName^,fname);
  92. writeln ('You chose ',fname);
  93.  
  94.  
  95.  
  96. Delay(500);
  97. rtFreeRequest(InfoReq);
  98. DISPOSE(pFileName);
  99. DISPOSE(pTitle);
  100. DISPOSE(pScrTitle);
  101. CloseScreen(MyScreen); 
  102. CloseLibrary(pLibrary(ReqToolsBase));
  103. CloseLibrary(pLibrary(IntuitionBase))
  104. End.
  105.